package Controller.TipoDocumento;

import javax.swing.JOptionPane;

import DAO.TipoDocumentoDAO;
import Entidade.TipoDocumento;
import Model.TipoDocumentoModel.TipoDocumentoConsultaModel;
import View.TipoDocumento.TipoDocumentoView;
import framework.mvc.GenericController;

public class TipoDocumentoConsultaController extends
		GenericController<TipoDocumento> {
	public TipoDocumentoConsultaController() {
		super(new TipoDocumentoConsultaModel(), new TipoDocumentoDAO());
	}

	public void novo() {
		TipoDocumentoView tipoDocumentoview = new TipoDocumentoView();
		tipoDocumentoview.abrir();
		view.atualizarView();
	}

	public void alterar() {
		view.atualizarModel();
		TipoDocumento tipoDocumentoSelecionado = ((TipoDocumentoConsultaModel) model)
				.getTipoDocumentoSelecionado();
		if (tipoDocumentoSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o TipoDocumento que deseja alterar", "Erro",
					JOptionPane.ERROR_MESSAGE);

		} else {
			TipoDocumentoView tipoDocumentoView = new TipoDocumentoView();
			tipoDocumentoView.getModel().setEntidade(tipoDocumentoSelecionado);
			tipoDocumentoView.atualizarView();
			tipoDocumentoView.abrir();
			view.atualizarView();
		}
	}

	public void excluir() {
		view.atualizarModel();
		TipoDocumento tipoDocumentoSelecionado = ((TipoDocumentoConsultaModel) model)
				.getTipoDocumentoSelecionado();
		if (tipoDocumentoSelecionado == null) {
			JOptionPane.showMessageDialog(null,
					"Selecione o Tipo de Documento que deseja excluir", "Erro",
					JOptionPane.ERROR_MESSAGE);
		} else {
			if (JOptionPane.showConfirmDialog(null,
					"Deseja realmente excluir este Tipo de Documento?") == JOptionPane.YES_OPTION) {
				getDao().excluir(tipoDocumentoSelecionado);
				view.atualizarView();
			}
		}
	}

	public void fechar() {
		view.dispose();
	}
}
